package com.yuw.homework4_2;

import java.util.Arrays;
import java.util.Comparator;

public class Company {
    // 属性
    private int month; // 工资计算的月份
    // 用到了多态： 父类指代子类
    private ColaEmployee[] employees; // 公司的员工列表

    // 行为
    public int getMonth() {
        return month;
    }

    public void setMonth(int month) {
        this.month = month;
    }

    public ColaEmployee[] getEmployees() {
        return employees;
    }

    public void setEmployees(ColaEmployee[] employees) {
        this.employees = employees;
    }


    /**
     * 打印指定月份的员工工资
     */
    public void sortbySalary() {
        // Arrays工具类 对员工数组中的员工的工资进行排序
        // 匿名内部
        Arrays.sort(employees, new Comparator<ColaEmployee>() {
            @Override
            public int compare(ColaEmployee o1, ColaEmployee o2) {
                // 返回值
                int i = 0;
                //当前对象和传输的参数对象进行比较
                if (o1 != null && o2 != null) {
                    if (o1.getSalary() > o2.getSalary()) {
                        i = 1;
                    } else if (o1.getSalary() < o2.getSalary()) {
                        i = -1;
                    }
                }
                return i * -1;
            }
        });
    }


    /**
     * 打印指定月份的员工工资
     */
    public void printMonthSalary() {
        // 打印指定月份的员工工资
        // 判断打印的员工数组不为空
        if (employees != null && employees.length > 0) {
            // for循环遍历员工数组，并打印每个员工的信息
            for (ColaEmployee colaEmployee : employees) {
                System.out.println("员工" + colaEmployee.getEmpName() + "的" + colaEmployee.getMonth() + "月份工资为：" +
                        colaEmployee.getSalary());
            }
        }
    }
}
